In control systems, the output data to the actuators must be output in real time, for example, to enable servomotors to move synchronously. In order to comply with the real-time requirements, a control application, hereinafter referred to as “PLC application”, must then be executed on a computer under the control of a real-time capable operating system. In addition to the application-specific control program, the PLC application includes at least the compiler or interpreter for executing the control program. The PLC application may also include additional functions for programming or verifying the control program. Now, if a PLC application were executed under the control of a non-real-time capable operating system, the instants for outputting the output data would not be clearly predictable. In this connection, what is decisive is not that other applications and the non-real-time capable operating system require time for themselves, but the determinability of the instant at which the output data is output to the actuator and the input data is valid. This problem may be solved by control systems which include at least one computer, a non-real-time capable operating system and a PLC application, which achieve the real-time capability of the control system using additional measures within the computer. German Patent DE 44 06 094 C2 describes a control system in which a PLC application running on a computer under a non-real-time capable operating system is made real-time capable by additional measures. Here, the interrupt requests to the processor are controlled by a so-called distributor in such a manner that the PLC application can be immediately activated upon request. The disadvantage here is that the so-called distributor for the interrupt requests must be adapted for each type of processor. Furthermore, this distributor must handle all interrupt requests, so that the time requirements of all applications requiring interrupts must be known.
German Patent DE 196 48 422 C2 describes a control system in which a real-time capable PLC application is implemented in a non-real-time capable operating system. Here, a timer already present in the computer is reprogrammed such that the PLC application is regularly activated to enable real-time capability. While the system is operating, the non-real-time capable operating system is deactivated as long as the real-time capable PLC application is active. After a predeterminable time, the timer deactivates the real-time capable PLC application and activates the non-real-time capable operating system. The activation of the real-time capable PLC application and deactivation of the non-real-time capable operating system alternates, at specifiable periods of time, with the deactivation of the real-time capable PLC application and activation of the non-real-time capable operating system. Since, in the control system described in DE 196 48 422 C2, the non-real-time capable operating system is deactivated while the real-time capable PLC application is active, the time requirements of all other applications and programs that are activated under the control of the non-real-time capable operating system must be known and taken into account. The computer-specific timers must also be known because they switch activity between the non-real-time capable operating system and the real-time capable PLC application via the interrupt control.
U.S. Pat. No. 5,903,752 describes a computer which has a non-real-time capable operating system and which is capable of activating the real-time capable applications through the addition of a program called real-time scheduler. This real-time scheduler is started by a non-real-time capable application, after which it then controls the real-time capable applications. A special feature of this type of real-time capability is that a real-time capable application without any functions called idle task, is activated by the real-time scheduler when the conditions for the real-time capable applications have expired. During this period, while the idle task is active, the non-real-time capable operating system controlling the non-real-time capable applications is activated. Here too, the real-time scheduler must be carefully implemented because the non-real-time capable operating system is intermittently interrupted. During this period, it is not possible to execute any functions of the non-real-time capable operating system, or to execute any non-real-time capable applications. Therefore, in case of faulty real-time-capable applications, the entire computer may be disabled unintentionally, which may further result in data loss.